Portions of this patent application contain materials that are subject to copyright protection. The copyright owner has no objection to the facsimile reproduction by anyone of the patent document, or the patent disclosure, as it appears in the Patent and Trademark Office file or records, but otherwise reserves all copyright rights whatsoever.
Information drives business. A disaster affecting a data center can cause days or even weeks of unplanned downtime and data loss that could threaten an organization""s productivity. For businesses that increasingly depend on data and information for their day-to-day operations, this unplanned downtime can also hurt their reputations and bottom lines. Businesses are becoming increasingly aware of these costs and are taking measures to plan for and recover from disasters.
Two areas of concern when a failure occurs, as well as during the subsequent recovery, are preventing data loss and maintaining data consistency between primary and secondary storage areas. One simple strategy includes backing up data onto a storage medium such as a tape, with copies stored in an offsite vault. Duplicate copies of backup tapes may be stored onsite and offsite.
In many situations, disaster recovery requires the ability to move a software application and associated data to an alternate site for an extended period, or even permanently, as a result of an event, such as a fire that destroys a site. For these more complicated situations, strategies and products to reduce or eliminate the threat of data loss and minimize downtime in the face of a site-wide disaster are becoming increasingly available.
Replication products exist that replicate data in real time to a disaster-safe location. To accommodate the variety of business needs, these replication products should include facilities for remote mirroring of data and replicating data over a wide area or distributed network such as the Internet. Furthermore, different types of storage require different replication methods. Replication products are available for a variety of storage solutions, such as database replication products and file system replication products.
Even more complex problems arise when system administrators need to create and manage multiple copies of business-critical information across the enterprise. The ability to replicate data to remote sites is crucial for disaster recovery and the return of a distributed system to service. Although various database management systems provide some remote replication or backup facilities, a more general service is needed to replicate, for example, database metadata and non-database data, in addition to the database contents. Further exacerbating the problem, each type of storage system usually requires familiarity with specific programming languages or commands to perform backup activities, a skill not often possessed by system administrators.
What is needed is a facility that allows a non-programmer to use and manipulate replicated data without disrupting the data replication process. The facility should be useful for a variety of software applications and storage platforms and not require application- or storage system-specific knowledge in order to perform processing of the replicated data. Preferably, the facility should be easy to use and enable the user to perform multiple processing tasks.
The present invention includes a control facility that allows a non-programmer to use and manipulate replicated data without disrupting the data replication process. The control facility can be used and customized for a variety of software applications and storage platforms. These customized control facilities can enable a system administrator without application- or storage system-specific knowledge to perform off-host processing of the replicated data, such as taking snapshots of the data and running Decision Support System reports.
In one feature of the invention, a method includes performing the following in response to a single user command during replication of data from a primary node to a secondary node: obtaining a control message from the primary node, wherein the control message is associated with a control command for execution on the secondary node; and automatically executing the control command on the secondary node. In one embodiment, the method further includes automatically diverting a portion of the data from a first data storage area associated with the secondary node to a second data storage area associated with the secondary node in response to obtaining the control message, automatically copying the portion of the data from the second data storage area to the first data storage area in response to completing the execution of the control command, and automatically re-directing the data to the first data storage area in response to completing the copying.
In another feature of the invention, a system includes a control facility including a control command configured to control the following during replication of data from a primary node to a secondary node: obtaining a control message from the primary node, wherein the control message is associated with a control command for execution on the secondary node; and executing the control command on the secondary node. In one embodiment, the system is further configured to control diverting a portion of the data from a first data storage area associated with the secondary node to a second data storage area associated with the secondary node in response to obtaining the control message, copying the portion of the data from the second data storage area to the first data storage area in response to completing the execution of the control command, and re-directing the data to the first data storage area in response to completing the copying.
In yet another feature of the invention, a computer program product includes instructions to control the following during replication of data from a primary node to a secondary node in response to a single user command: instructions to obtain a control message from the primary node, wherein the control message is associated with a control command for execution on the secondary node; and instructions to execute the control command on the secondary node in response to obtaining the control message; and a computer readable medium to store the controlling instructions, the obtaining instructions, and the execution instructions. In one embodiment, the computer program product further includes instructions to divert a portion of the data to a second data storage area associated with the secondary node in response to obtaining the control message, wherein the executing the control command is performed in response to completing the diverting. The computer program product further includes instructions to copy the portion of the data from the second data storage area to the first data storage area in response to completing the executing the control command and instructions to re-direct the data to the first data storage area in response to completing the copying. A computer-readable medium stores the instructions.
The foregoing is a summary and thus contains, by necessity, simplifications, generalizations and omissions of detail; consequently, those skilled in the art will appreciate that the summary is illustrative only and is not intended to be in any way limiting. Other aspects, inventive features, and advantages of the present invention, as defined solely by the claims, will become apparent in the non-limiting detailed description set forth below.